﻿using System;
using System.Collections.Generic;

using Fuse8.DomainFramework.Domain;

namespace Fuse8.ContentManagementFramework.Domain.Commands.CommandParameters
{
    public class CmsEntityAnnotationSaveForEntityCommandParameter : CmsEntityAnnotationGetForEntityCommandParameter, ITrackingEntityObject
    {
        private int _createdBy;
        private DateTime _dateCreated;

        public IEnumerable<CmsEntityAnnotation> Annotations { get; set; }

        public IEnumerable<int> AnnotationsForDelete { get; set; }

        public IEnumerable<int> CommentsForDelete { get; set; }

        #region ITrackingEntityObject Members

        public bool IsNew
        {
            get
            {
                return true;
            }
        }

        public int CreatedBy 
        {
            get
            {
                return _createdBy;
            }
            set
            {
                _createdBy = value;

                LastUpdatedBy = value;
            }
        }

        public DateTime DateCreated
        {
            get
            {
                return _dateCreated;
            }
            set
            {
                _dateCreated = value;

                DateLastUpdated = value;
            }
        }

        public int? LastUpdatedBy { get; set; }

        public DateTime? DateLastUpdated { get; set; }

        #endregion
    }
}
